package com.stardata.liangshisq.tcslmon.service;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.IService;
import com.stardata.liangshisq.tcslmon.entity.SysParameter;
import org.jetbrains.annotations.NotNull;

import java.util.List;

/**
 * @author Samson Shu
 * @email shush@stardata.top
 * @date 2020/12/13 10:48
 */
@DS("canyin")
public interface SysParameterService extends IService<SysParameter> {
  /**
   * 取得系统参数
   * @param code 参数编码
   * @return 参数值
   */
  String getByCode(@NotNull String code);

  /**
   * 保存系统参数
   * @param code 参数编码
   * @param value 参数值
   */
  void saveByCode(@NotNull String code, @NotNull String value);

  /**
   * 查询获得一个指定code、指定类型的List数组
   * @param code 指定的code
   * @param valueType 指定的类型
   * @return 解析后的Long列表
   */
  @NotNull
  <T> List<T> getListByCode(String code, Class<T> valueType);
}
